Skip to main content

Visualization Element: Image

Symbol:

_visu_img_picture.png

Category: Basic

The element adds an image to the visualization. The displayed image is managed in the image pool and referenced in the visualization element by means of a static ID. You can also change the displayed image dynamically by using a variable instead of the static ID.

Tip

With the Background command, you can define a background for the entire visualization.

Tip

Directories that contain the images for use in visualizations can be defined in the project settings (category Visualization).

Element properties

Are all element properties available?

All properties are available only after you select the Advanced option or the All categories filter in Properties.

Element name

Example: Status bar

Tip

Assign individual names for elements so that they are found faster in the element list.

Type of element

Image

Static ID

Static ID of an image from an image pool. The image pool can be part of the project or from a library. The ID can be resolved exactly if you specify the full instance path.

Instance path for an image with an image pool in the project:

<namespace library>.<name of image pool>.<ID image>

Example:

MyLib.Imagepool.background

VisuSymbols.Symbols.Phone: Instance path for an image with an image pool in the VisuSymbols library

The namespace for the library (namespace library) is optional. If it is missing, then an image pool will be searched for in the project.

The dot in front of the image collection (.) is optional. When the dot is specified, it indicates an instance path in the project.

.Imagepool.background

If an image cannot be found using this method, then a substitute search is performed using the image ID. The result is the first matching image ID. In the case of ambiguous IDs, this can lead to the wrong image being displayed. This can be prevented by specifying an exact instance path.

Tip

Specify the full instance path to avoid conflicts:

<namespace path> . <name of image pool> . <image ID>

For more information, see: Object: Image Pool

Show frame

standard icon: The image file is displayed with a frame.

Clipping

Requirement: The Scaling type property is Fixed.

standard icon: Only part of the visualization is displayed that fits in the element frame.

Transparent

standard icon: The image pixels that have the Transparent color are displayed as transparent.

Transparent color

Effective only if the Transparent option is activated.

The _cds_icon_button_threedots.png button opens the color selection dialog. This is where you select the transparent color.

Scaling type

. Definition of how an image fits in the element frame.
  • Isotropic: The entire image is displayed in the element frame, either larger or smaller. As a result, the proportion of height and width are retained.

    If the alignment of the elements to each other should also be retained within a scaled frame element, then note the following. Unwanted horizontal or vertical offsets can be prevented by setting the properties Horizontal alignment and Vertical alignment to Centered. The alignment of the elements is retained and there are no resulting horizontal or vertical offsets.

    Example: A lamp is centered above a switch. The lamp should remain in the horizontally centered position, even if the frame is resized.

  • Anisotropic: The image resizes automatically to the dimensions of the element frame, filling the entire element frame. As a result, the proportions are not retained.

  • Fixed: The image retains its original size, even if the element frame is resized. Note also that the Clipping option is selected.

    For each reassignment of an image ID, the element size is adapted automatically to the image size.

Horizontal alignment

. Horizontal alignment of the element within the element frame:
  • Left

  • Centered

  • Right

Requirement: The scaling type of the image is Isotropic or Fixed.

Note

If the visualization is referenced, then the horizontal alignment takes effect within the frame position.

_visu_icon_variable.png: The Variable property is shown below this.

Variable

Enumeration variable (ENUM VisuElemBase.VisuEnumVerticalAlignment) for horizontal alignment

Example: PLC_PRG.eHorizontalAlignment

Vertical alignment

. Vertical alignment of the element within the element frame:
  • Top

  • Centered

  • Bottom

Requirement: The scaling type of the image is Isotropic or Fixed.

Note

If the visualization is referenced, then the horizontal alignment takes effect within the frame position.

_visu_icon_variable.png: The Variable property is shown below this.

Variable

Enumeration variable (ENUM VisuElemBase.VisuEnumVerticalAlignment) for vertical alignment

Example: PLC_PRG.eVerticalAlignment

A valid declaration is required for the variables used as an example in the table above.

Enumeration

TYPE VisuElemBase.VisuEnumHorizontalAlignment
    LEFT
    HCENTER
    RIGHT
END_TYPE

TYPE VisuElemBase.VisuEnumVerticalAlignment
    DOWN
    VCENTER
    BOTTOM
END_TYPE

Declaration

PROGRAM PLC_PRG
VAR
    eHorizontalAlignment : VisuElemBase.VisuEnumHorizontalAlignment := VisuElemBase.VisuEnumHorizontalAlignment.HCENTER;
    eVerticalAlignment : VisuElemBase.VisuEnumVerticalAlignment := VisuElemBase.VisuEnumVerticalAlignment.VCENTER;
END_VAR

For more information, see: Object: Image pool

Position

The position defines the location and size of the element in the visualization window. This is based on the Cartesian coordinate system. The origin is located in the upper left corner of the window. The positive horizontal X-axis runs to the right. The positive vertical Y-axis runs downwards.

X

The X-coordinate (in pixels) of the upper left corner of the element

Example: 10

Y

The Y-coordinate (in pixels) of the upper left corner of the element

Example: 10

Width

Width (in pixels)

Example: 150

Height

Height (in pixels)

Example: 30

Tip

You can also change the values by dragging the box _visu_icon_position_element.png symbols to other positions in the editor.

Angle

Static angle of rotation (in degrees)

Example: 35

The element is displayed rotated in the editor. The point of rotation is the center of the element. A positive value rotates clockwise.

Tip

You can change the value in the editor by focusing the element to the handle. When the cursor is displayed as a _visu_icon_rotate_statically.png rotating arrow, you can rotate the element about its center as a handle.

_visu_img_selected_image_with_handle.png

(1): Handle

Note

If a dynamic angle of rotation is also configured in the Absolute movement → Interior rotation property, then the static and dynamic angles of rotation are added at runtime. The static angle of rotation acts as an offset.

Center

The properties contain fixed values for the coordinates of the point of rotation. The rotation point is displayed in the editor as the _visu_icon_center_point.png symbol and is used as the center for rotation and scaling.

Tip

You can also change the values by dragging the _visu_icon_center_point.png symbol to another position in the editor.

X

X-coordinate of the point of rotation

Y

Y-coordinate of the point of rotation

Colors

The properties contain fixed values for setting colors.

Color

Requirement: The Show frame property is selected.

Color for the frame

Note

The normal state is in effect if the expression in the Color variables → Toggle color property is not defined or it has the value FALSE.

Requirement: The Show frame property is selected.

Color for the frame in alarm state

Note

The alarm state is in effect if the expression in the Color variables → Toggle color property has the value TRUE.

Transparency

Value (0 to 255) for defining the transparency of the selected color

Example:

255: The color is opaque.

0: The color is completely transparent.

Note

If the color is a style color and already has a transparency value, then this property is write-protected.

Appearance

The properties contain fixed values for setting the look of the element.

Line width

Value (in pixels)

Example: 2

Note

The values 0 and 1 both result in a line weight of one pixel. If no line should be displayed, then the Line style property has to be set to the Invisible option.

Line style

Type of line representation

  • Solid

  • Dash

  • Dots

  • Dash Dot

  • Dash Dot Dot

  • Invisible

Tip

You can assign variables in the Appearance variables property for controlling the appearance dynamically. The fixed values are defined here.

Texts

Text

String (without single straight quotation marks)

Example: Accesses: %i

The element is labeled with this text. If a placeholder %<format string> is specified in the text, then the value of the variable in the Text variable → Text property is output at the location of the placeholder.

Tooltip

String (without single straight quotation marks)

Example: Number of valid accesses %n

The text is output as a tooltip. If a placeholder %<format string> is specified in the text, then the value of the variable in the Text variable → Tooltip property is output at the location of the placeholder.

Tip

Use the Ctrl+Enter shortcut to add a line break.

Tip

The specified texts are automatically transferred to the GlobalTextList text list. Therefore, these texts can be localized.

Image ID variable

Image ID

Variable (STRING) for the image ID

Example: PLC_PRG.stImageID

Application code: PLC_PRG.stImageID := 'ImagePool_A.Bild3';

The variable value formally refers to a specific image of an image pool and corresponds to the value in the Static ID property.

Text properties

The properties get fixed values for the text properties and act on the texts configured in Texts → Text or Texts → Tooltip.

Horizontal alignment

Horizontal alignment of the text within the element

Vertical alignment

Vertical alignment of the text within the element

Text format

. Definition for displaying texts that are too long
  • Default: The text which is too long is truncated.

  • Line break: The text is split into lines.

  • Ellipsis: The visible text ends with "..." indicating that it is not complete.

Font

Example: Default

_cds_icon_three_dots.png: The Font dialog opens.

_cds_icon_arrow_down.png: List box with style fonts

Font color

Example: Black

_cds_icon_three_dots.png: The Color dialog opens.

_cds_icon_arrow_down.png: List box with style colors

Transparency

Integer (value range from 0 to 255)

The transparent value determines the transparency of the respective color.

255: The color is opaque.

0: The color is completely transparent.

Note

If the color is a style color and already has a transparency value, then this property is write-protected.

Dynamic image

You can use this element property for animating a series of image files.

Bitmap version

Variable (integer data type) which includes the version of the image

If the variable changes, then the visualization re-reads the image referenced in the Image ID property and displays it.

The visualization displays animations when the image file on the controller is updated continuously, thus incrementing the version variable. The application must be programmed for this.

. Possible applications
  • Displaying graphics that are generated by the application

  • Displaying images that are refreshed by a camera

Absolute movement

The properties contain IEC variables for controlling the position of the element dynamically. The reference point is the upper left corner of the element. At runtime, the entire element is moved.

Movement

X

Increasing this value at runtime moves the element to the right.

Y

Increasing this value at runtime moves the element downwards.

Rotation

Variable (numeric data type) for the angle of rotation (in degrees)

Example: PLC_PRG.iAngle1.

The midpoint of the element rotates at the Center point. This rotation point is shown as the _visu_icon_center_point.png symbol.

At runtime, the alignment of the element remains the same with respect to the coordinate system of the visualization. Increasing the value rotates the element to the right.

_visu_img_prp_rotation.png

Scaling

Variable (integer data type) to trigger a centric stretching

Example: PLC_PRG.iScaling

The reference point is the Center property.

The value 1 shrinks the element by a factor of 0.001. The value 1000 returns the element to its original size.

Interior rotation

Variable (numeric data type) for the angle of rotation (in degrees)

Example: PLC_PRG.iAngle2.

At runtime, the element rotates about the point of rotation specified in Center according to the value of the variable. In addition, the alignment of the element rotates according to the coordinate system of the visualization. Increasing the value in the code rotates clockwise.

The rotation point is shown as the _visu_icon_center_point.png symbol.

Note

If a static angle of rotation is specified in the Position → Angle property, then the static angle of rotation is added to the variable angle of rotation (offset) when the visualization is executed.

_visu_img_prp_inner_rotation.png

Tip

You can combine the variables to a Unit conversion.

Tip

The X, Y, Rotation, and Interior rotation properties are supported by the "Client Animation" functionality.

Relative movement

The properties contains variables for moving the element. The reference point is the position of the element (Position property). The shape of the element can change.

Movement top-left

X

  • Variable (integer data type) for the number (in pixels) which the left edge is moved horizontally

    Example: PLC_PRG.iDeltaX

Incrementing the value moves the element to the right.

Y

  • Variable (integer data type)for the number (in pixels) which the top edge is moved vertically

    Example: PLC_PRG.iDeltaY

Incrementing the value moves the element to the down.

Movement bottom-right

X

  • Variable (integer data type) for the number (in pixels) which the right edge is moved horizontally.

    Example: PLC_PRG.iDeltaWidth

  • Container variable: Container.Width

    For more information, see: Optimally Adjusting the Position and Size

Incrementing the value moves the element to the right.

Y

  • Variable (integer data type)for the number (in pixels) which the bottom edge is moved vertically

    Example: PLC_PRG.iDeltaHeight

  • Container variable: Container.Height

    For more information, see: Optimally Adjusting the Position and Size

Incrementing the value moves the element to the down.

Text variables

Text variable

Variable (data type conforming to the formatting specification) for the placeholder in the Texts → Text property

Example: PLC_PRG.iAccesses

The variable value replaces the placeholder in the text of the element. At runtime, the element is labeled with the text, and the variable value is constantly updated.

Note

If you specify a variable of type enumeration with text list support, then the name of the enumeration data type is added automatically in angle brackets after the variable name. Example: PLC_PRG.enVar <enumeration name>. Then the symbolic value of the enumeration component is printed instead of the numeric value when text is printed. See the help page for enumerations.

Tooltip variable

Variable (data type conforming to the formatting specification) for the placeholder in the Texts → Tooltip property

Example: PLC_PRG.iAccessesInTooltip

The variable value replaces the placeholder in the tooltip of the element. At runtime, the tooltip is displayed and the variable value is constantly updated.

Dynamic texts

Dynamic texts are variably indexed texts of a text list. At runtime, the text is displayed that is currently indexed in the variable.

Text List

. Name of the text list
  • As a variable (STRING)

  • As fixed string literal with single straight quotation marks

    Example: 'Errorlist'

_cds_icon_arrow_down.png: List box with the dialogs available in the text lists

Note: If a text list from the project is transferred to a visualization in a library, then a dot has to be prepended to the name of the text list.

Text index

. Text list ID which refers to the desired output text
  • As fixed string with the ID in single straight quotation marks

    Example: '1'

  • As a variable (STRING) for dynamically controlling the text output

    Example: strTextID

    Sample assignment: PLC_PRG.strTextID := '1';

Tooltip index

. Text list ID which refers to the desired output text
  • As fixed string with the ID in single straight quotation marks

    Example: '2'

  • As a variable (STRING) for dynamically controlling the text output

    Example: strToolTipID

    Sample assignment: PLC_PRG.strToolTipID := '2';

Color variables

The Element property is used as an interface for project variables to dynamically control colors at runtime.

Toggle color

The property controls the toggled color at runtime.

. Value assignment:
  • FALSE: The element is displayed with the color specified in the Color property.

  • TRUE: The element is displayed with the color specified in the Alarm color property.

. Assigning the property:
  • Placeholder for the user input variable

    • <toggle/tap variable>

    • <NOT toggle/tap variable>

    The color change is not controlled by its own variable, but by a user input variable.

    Note

    Specify a variable for the mouse events Tap or Toggle in the input configuration of the element. Only then is the placeholder set. If you configure a variable in both Toggle and Tap, then the variable specified in Tap is used.

    Tip

    Click the _visu_icon_linked_variable.png symbol to insert the <toggle/tap variable> placeholder. When you activate the Input configuration, Tap FALSE property, then the <NOT toggle/tap variable> placeholder is displayed.

  • Instance path of a project variable (BOOL)

    Example: PLC_PRG.xColorIsToggeled

    Note

    In the code, declare and implement the variable specified here. Its value assignment determines when the color changes.

Color

Color variable for the frame

  • Variable (DWORD) for the color

    Example: PLC_PRG.dwColor

  • Color literal

    Example of gray and opaque: 16#FF888888

Requirement: Show frame property is activated.

Note

The normal state is in effect if the expression in the Color variables → Toggle color property is not defined or it has the value FALSE.

Alarm color

Color variable for the frame in alarm state

  • Variable (DWORD) for the alarm color

    Example: PLC_PRG.dwAlarmColor

  • Color literal

    Example of red and opaque: 16#FFFF0000

Note

The normal state is in effect if the expression in the Color variables → Toggle color property is not defined or it has the value TRUE.

Tip

The transparency part of the color value is evaluated only if the Activate semi-transparent drawing option of the visualization manager is selected.

Tip

In the toolbar of the Properties, select the Advanced option. Then all element properties are visible.

Look variables

The properties contain variables for controlling the appearance of the element dynamically.

Line width

Variable (integer data type) for the line width (in pixels)

Note

The values 0 and 1 both result in a line weight of one pixel. If no line should be displayed, then the Line style property has to be set to the Invisible option.

Line style

Variable (DWORD) for the line type

. Coding:
  • 0: Solid line

  • 1: Dashed line

  • 2: Dotted line

  • 3: Line type "Dash Dot"

  • 3: Line type "Dash Dot Dot"

  • 8: Invisible: The line is not drawn.

Tip

Fixed values can be set in the Appearance property. These values can be overwritten by dynamic variables at runtime.

Font variables

The variables allow for dynamic control of the text display.

Font name

Variable (STRING) for the font of the text

Example: PLC_PRG.stFontVar := 'Arial';

Tip

You can find out which fonts are available in the standard Font dialog.

Size

Variable (numeric data type) for the font size (in pixels or points)

The applied unit is specified in brackets after the variable name.

  • <pt>: Points (default)

    Example: PLC_PRG.iFontHeight <pt>

    Code: iFontHeight : INT := 12;

  • <px>: Pixels

    Example: PLC_PRG.iFontHeight <px>

    Code: iFontHeight : INT := 19;

Tip

The font size is specified in points (example: Arial 12). Use points when the variable font size should match a font, for example if a font is set in the Text property → Font property.

Tip

If you click in the value field, a _cds_img_dropdownlist_unit_font_size.png list box opens on the right for setting the unit.

Flags

Variable (DWORD) for the flags to determine the font display

. Flags:
  • 1: Italics

  • 2: Bold

  • 4: Underline

  • 8: Strikethrough

Note

You can combine the font displays by adding the coding of the flags. For example, a bold and underlined text: PLC_PRG.dwFontType := 6;

Font

Variable (DWORD) for the character set number of the font

The selection of character set numbers corresponds to the Script setting of the standard Font dialog.

Color

Variable (DWORD) for the color of the text

Example: PLC_PRG.dwColorFont:= 16#FF000000;

Flags for text alignment

Variable (integer data type) for coding the text alignment

Example: PLC_PRG.dwTextAlignment

. Coding:
  • 0: Top left

  • 1: Horizontal center

  • 2: Right

  • 4: Vertical center

  • 8: Bottom

Note

You can combine the text alignments by adding the coding of the flags. For example, a vertical and horizontal centered text: PLC_PRG.dwFontType := 5;

Tip

Fixed values for displaying texts are set in Text properties.

State variables

The variables control the element behavior dynamically.

Invisible

Variable (BOOL) for toggling the visibility of the element

TRUE: The element is not visible at runtime.

Example: bIsVisible with VAR bIsVisible : BOOL := FALSE; END_VAR

Deactivate inputs

Variable (BOOL) for toggling the operability of the element

TRUE: User inputs do not have any effect in runtime more. The element is shown as deactivated.

Tip

The Invisible property is supported by the "Client Animation" functionality.

Input Configuration

The properties contain the configurations for the user input when using the mouse or keyboard. User input is a user event from the perspective of the element.

The Configure button opens the Input Configuration for creating or modifying a user input configuration.

A configuration contains one or more input actions for the respective input event. Existing input actions are displayed below it.

Example: Execute ST Code: _visu_icon_action.png PLC_PRG.i_x := 0;

OnDialogClosed

Input event: The user closes the dialog.

OnMouseClick

Input event: A user clicks the element completely. The mouse button is clicked and released.

OnMouseDown

Input event: A user clicks down on the element only.

OnMouseEnter

Input event: A user drags the mouse pointer to the element.

OnMouseLeave

Input event: A user drags the mouse pointer away from the element.

OnMouseMove

Input event: A user moves the mouse pointer over the element area.

OnMouseUp

Input event: The user releases the mouse button within the element area.

OnValueChanged

Event which triggers follow-up actions due to a change in value

Which follow-up actions are triggered is configured in the Input Configuration dialog.

The defined follow-up actions and the corresponding configuration are displayed below the element property.

The OnValueChanged event can be disabled by the VISU_NO_VALUECHANGED compiler define in the properties dialog of the application.

Hotkey

Shortcut on the element for triggering specific input actions

When the hotkey event occurs, the input actions in the Events property are triggered.

Key

Key pressed for input action

Example: T

Events

  • None

  • Mouse down: Pressing the key triggers the input actions that are configured in the OnMouseDown property.

  • Mouse up: Releasing the key triggers the input actions that are configured in the OnMouseUp property.

  • Mouse down/up: Pressing and releasing the key triggers the input actions that are configured in the OnMouseDown property and the OnMouseUp property.

Switch over

standard icon: Combination with the "Shift" key

Example: Shift + T.

Control

standard icon: Combination with the "Ctrl" key

Example: Ctrl + T.

Alt

standard icon: Combination with the "Alt" key

Example: Alt + T.

Tip

All shortcuts and their actions which are configured in the visualization are listed on the Keyboard Configuration tab.

Animation

Tip

These properties are available only when you have selected the Support client animations and overlay of native elements option in the Visualization Manager.

Animation duration

Variable for the duration (in milliseconds) in which the element runs an animation

  • Variable (integer value)

    Example: Menu.tContent with VAR tContent : INT := 500; END_VAR

  • Integer literal

    Example: 500

. Animatable properties
  • Absolute movement, Movement, X, Y

  • Absolute movement, Rotation

  • Absolute movement, Interior rotation

  • Absolute movement, Exterior rotation

The animated movement is executed when at least one value of an animatable property has changed. The movement then executed is not jerky, but is smooth within the specified animation duration. The visualization element travels to the specified position while rotating dynamically. The transitions are smooth.

Move to foreground

Variable (BOOL) for setting the element in the foreground

TRUE: At runtime, the visualization element is displayed in the foreground.

FALSE: At runtime, the visualization element is displayed in the layer where it was inserted in the visualization editor.

Example: bIsInForeground with VAR bIsInForeground : BOOL := FALSE; END_VAR

Access Rights

Note

Available only when a user management is set up for visualization.

Access Rights button

Opens the Access Rights dialog. There you can edit the access privileges for the element.

. Status messages:
  • Not set. Full rights.: Access rights for all user groups : operable

  • Rights are set: Limited rights: Access is restricted for at least one group.